package com.xhsj.user.hr.system.query;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

/**
 * @Author: liuqinghua
 * @Description:用户基础信息
 * @Data:2020/9/8
 */
@Data
public class UserBaseQuery {
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 工号
     */
    private Long workNum;

    /**
     * 姓名
     */
    private String fullName;

    /**
     * 部门id
     */
    private Long departmentId;

    /**
     * 职位id
     */
    private Long positionId;

    /**
     * 性别 0-男 1-女
     */
    private Integer sex;

    /**
     * 手机号
     */
    private String phoneNumber;

    /**
     * 邮箱
     */
    private String email;

    /**
     * qq
     */
    private String qq;

    /**
     * 上级领导id
     */
    private Long leader;
    /**
     * 用户详细信息id
     */
    private Long id;


    /**
     * 出生年月
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date birthday;

    /**
     * 民族
     */
    private String nation;

    /**
     * 籍贯
     */
    private String birthPlace;

    /**
     * 银行卡
     */
    private String bankAccount;

    /**
     * 开户行
     */
    private String bankName;

    /**
     * 最高学历
     */
    private String highestEducation;

    /**
     * 身高
     */
    private BigDecimal height;

    /**
     * 体重
     */
    private BigDecimal weight;

    /**
     * 专业
     */
    private String profession;

    /**
     * 政治面貌
     */
    private String politicsStatus;

    /**
     * 工作年限
     */
    private String yearsWorking;

    /**
     * 婚姻状况
     */
    private String maritalStatus;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 健康状况
     */
    private String healthStatus;

    /**
     * 户口所在地
     */
    private String hkAddress;

    /**
     * 户口性质 0农业 1非农
     */
    private Integer hkType;

    /**
     * 家庭住址
     */
    private String homeAddress;

    /**
     * 家庭住址邮编
     */
    private String homeCode;

    /**
     * 现住址
     */
    private String presentAddress;

    /**
     * 现住址邮编
     */
    private String presentCode;

    /**
     * 紧急联系人
     */
    private String emergencyContact;

    /**
     * 与本人关系
     */
    private String relation;

    /**
     * 紧急联系电话
     */
    private String emergencyPhone;

    /**
     * 外语能力0一般 1熟练 2精通
     */
    private Integer foreignAbility;

    /**
     * 有无亲友或朋友在公司 0无 1有
     */
    private Integer isNeitui;

    /**
     * 内推人id
     */
    private Integer neituiId;

    /**
     * 确定薪资
     */
    private BigDecimal salary;

    /**
     * 入职日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date arrivalDate;

    /**
     * 试用期期限
     */
    private Integer probationPeriod;

    /**
     * 头像名称
     */
    private String photoName;

    /**
     * 头像地址
     */
    private String photoUrl;

    /**
     * 头像删除地址
     */
    private String photoDelUrl;


    /**
     * 是否有试用期0是 1否
     */
    private Integer isPeriod;

    /**
     * 合同id
     */
    private Long contractId;

    /**
     * 合同类型
     */
    private Integer contratType;

    /**
     * 合同开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date contractStartTime;

    /**
     * 合同结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date contractEndTime;

    /**
     * 合同期限
     */
    private Integer contractPeriod;

    /**
     * 计划转正日期
     */
    @TableField("positive_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date positiveDate;

    /**
     * 企业邮箱
     */
    private String companyEmail;

    /**
     * 提交状态 0 保存 1提交
     */
    private Integer submitStauts;

}
